Nein! | Ordentlich |
---|---|
|
|
Das ist eine abweisende Schleife - verdammt nochmal! |
|
So können abweisende Schleifen implementiert werden:
Dummbrot | besser | perfekt |
---|---|---|
|
|
|
Zwei Sprünge pro Runde.
C-Compiler übersetzen so for-Schleifen (wenn sie gut sind!) | Ein Sprung, weniger geht nicht.
Außerdem ist so der hübsche DJNZ-Befehl nutzbar.
Dem C-Compiler greift man mittels if-do-while unter die Arme. | |
|
|
|
Niemals ohne Grund int i schreiben!
Wenn das doch nötig ist, dann siehe unten.
Dummbrot | besser | perfekt |
---|---|---|
|
|
|
Zwei Sprünge pro Runde. Und richtige 16-bit-Arithmetik.
C-Compiler übersetzen so for-Schleifen (leider, wenn sie gut sind! Schlechte benutzen Speicherplätze statt Register.) | Schon mal eine verkürzte Arithmetik. | Etwas mehr Vorbereitung macht den Schleifenkörper minimal.
Regel: Inkrementiere High-Teil, wenn Low-Teil ungleich Null. |
|
|
|
Hat jemand behauptet, dass (optimierter) C-Quelltext besser zu lesen ist Assembler? |
Es versteht sich nun von selbst, dass aufsteigende Indizes zu noch komplizierten Schleifen-Konstrukten führen: vermeiden!